# -*- coding:utf-8 -*-
# -*- coding:utf-8 -*-

import json
import random
import string

class username:
    last_names = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋', '沈', '韩', '杨', '朱', '秦',
                  '何', '吕', '施', '张', '孔', '曹', '严', '华', '金', '魏', '陶', '姜', '戚', '谢', '窦', '宋', '庞', '常',
                  '云', '苏', '潘', '葛', '奚', '范', '彭', '郎', '鲁', '韦', '昌', '马', '苗', '方', '俞', '任', '袁', '柳',
                  '鲍', '史', '唐', '费', '廉', '岑', '薛', '雷', '贺', '倪', '汤', '滕', '罗', '毕', '安', '戴', '米', '童',
                  '于', '卞', '齐', '康', '伍', '顾', '孟', '和', '穆', '萧', '尹', '姚', '祁', '狄']
    first_names = ['君', '仁', '和', '婷', '友', '者', '怡', '雯', '翰', '珊', '道', '佩', '宏', '迪', '素', '美', '彥', '均', '开',
                   '子', '中', '文', '年', '昭', '琪', '娜', '和', '如', '俊', '依', '于', '心', '学', '之', '都', '好', '多', '然',
                   '会', '可', '霞', '过', '天', '能', '成', '如', '珊', '巴', '第', '样', '霖', '宗', '作', '外', '相', '西', '果',
                   '发', '当', '梅', '见', '明', '力', '理', '尔', '点', '文', '定', '本', '特', '机', '工', '物', '真', '重', '三',
                   '将', '月', '十', '实', '向', '声', '全', '信', '景', '新', '比', '才', '书', '部', '水', '界', '瑞', '由', '安',
                   '柔', '海', '容', '德', '克', '候', '何', '觉', '路', '带', '万', '风', '平', '报', '友', '英', '军', '字', '场',
                   '光', '白', '或', '雪', '望', '教', '结', '乐', '色', '更', '拉', '东', '环', '应', '直', '林', '传', '画', '运',
                   '慈', '变', '通', '师', '数', '满', '战', '远', '格', '士', '音', '轻', '目', '欢', '约', '睿', '甜', '必', '非',
                   '病', '始', '达', '深', '清', '王', '化', '空', '业', '思', '谦', '语', '元', '曾', '梅', '飞', '科', '言', '怀',
                   '则', '院', '量', '苦', '火', '布', '品', '近', '星', '精', '视', '巨', '依', '斗', '值', '肯', '闻', '沙', '局',
                   '奇', '管', '类', '未', '朋', '台', '夜', '青', '北', '越', '观', '落', '影', '极', '演', '强', '石', '古', '华',
                   '传', '双', '米', '称', '丽', '客', '南', '领', '刻', '统', '点', '福', '城', '故', '历', '建', '维', '示', '愿',
                   '赤', '千', '史', '联', '纪', '基', '志', '静', '阿', '诗', '独', '义', '确', '幸', '兰', '念', '致', '阳', '参',
                   '官', '待', '易', '游', '程', '考', '突', '皮', '图', '刚', '永', '歌', '响', '商', '礼', '细', '味', '灵', '梦',
                   '忍', '存', '众', '沉', '备', '校', '默', '微', '广', '苏', '亮', '假', '印', '温', '京', '初', '普', '导', '顿',
                   '严', '证', '帝', '趣', '支', '木', '研', '班', '展', '艺', '波', '察', '群', '皇', '段', '庭', '创', '区', '谢',
                   '海', '朝', '封', '况', '曲', '若', '雨', '标', '伦', '护', '冷', '贝', '著', '雪', '索', '洲', '圣', '露', '园',
                   '劳', '烈', '莫', '异', '宝', '鲁', '简', '态', '律', '胜', '份', '洋', '范', '舞', '秘', '贵', '较', '叶', '吉',
                   '渐', '左', '录', '丝', '继', '章', '智', '冲', '松', '云', '适', '乡', '恩', '投', '弹', '铁', '博', '雷', '府',
                   '超', '毕', '九', '冰', '状', '景', '席', '珍', '童', '素', '彩', '琴', '环', '束', '增', '忍', '洛', '忆', '欧',
                   '岛', '项', '懂', '武', '革', '良', '娥', '娜', '妙', '营', '诺', '康', '供', '优', '降', '秋', '萨', '浪', '凡',
                   '夏', '琉', '健', '杰', '江', '典', '莱', '含', '盛', '济', '蒙', '棋', '端', '乾', '坤']

    def random_name(self,size=1, chars=string.ascii_letters + string.digits):
        return ''.join(random.choice(chars) for _ in range(size))

    # 名字,两个中文字符
    def first_name(self,size=2, ln=None, fn=None):
        _lst = []
        for i in range(size):
            _item = self.random_name(1, fn)
            if ln:
                while _item in ln:
                    _item = self.random_name(1, fn)
                _lst.append(_item)
            else:
                _lst.append(_lst)
        return "".join(_lst)

    # 姓氏
    def last_name(self,size=1, names=None):
        return self.random_name(size, names)

    # 姓名
    def full_name(self,lns, fns):
        _last = self.last_name(1, lns)
        return "{}{}".format(_last, self.first_name(random.randint(1, 2), _last, fns))

    def get_name(self):
        name = self.full_name(self.last_names, self.first_names)
        #getname = json.dumps(name, encoding="UTF-8", ensure_ascii=False)
        #print name
        return name

if __name__=="__main__":
    name=username()
    print (name.get_name())


